package com.huazi.www.yang.fchua.service;

import com.huazi.www.yang.fchua.entity.Medicine;
import com.huazi.www.yang.fchua.entity.Prescription;
import com.huazi.www.yang.fchua.uilt.Page;

import java.util.List;


public interface BillService {

    /**
     * 查询未缴费的药单    分页
     *
     * @param name        用户姓名
     * @param currentPage 页码
     * @return 分页对象
     */
    Page<Medicine> page(String name, int currentPage);

    /**
     * 药单详情查询
     *
     * @param userId 用户卡号
     * @param date   开药时间
     * @return 药单详情
     */
    List<Medicine> list(String userId, String date);

    /**
     * 得到药单的总价格
     *
     * @param list 药单
     * @return 当前药单的总价格
     */
    double money(List<Medicine> list);

    /**
     * 得到药品的集合
     *
     * @param list 药单
     * @return 药名+数量
     */
    String drugs(List<Medicine> list);

    /**
     * 修改药单状态
     *
     * @param list 药单
     */
    void update(List<Medicine> list);

    /**
     * 判断用户余额是否能支付药费
     *
     * @param userID    用户编号
     * @param drugMoney 药费
     * @return true 余额充足
     */
    boolean pdMoney(String userID, double drugMoney);

    /**
     * 分页查询未缴费的药单
     *
     * @param name
     * @param currentPage
     * @return
     */
    Page<Medicine> yaoSelect(String name, Integer currentPage);

    /**
     * 插入药单
     *
     * @param pre
     * @return
     */
    boolean insert(Prescription pre);

    /**
     * 根据药名 查询药价
     *
     * @param drugname 药名
     * @return
     */
    double selectPrice(String drugname);

    /**
     * 修改开药单状态
     *
     * @return
     */
    void update(Integer userId);

    /**
     * 用户余额查询
     *
     * @param id 用户id
     * @return
     */
    boolean selectUserMoney(Integer id, Integer sum, double count);
}
